home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / Collections.p < prev    next >
Text File  |  1996-05-01  |  17KB  |  464 lines

  1. {
  2.      File:        Collections.p
  3.  
  4.      Contains:    Collection Manager Interfaces
  5.  
  6.      Version:    Technology:    Copland
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Collections;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __COLLECTIONS__}
  28. {$SETC __COLLECTIONS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC CollectionsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __MIXEDMODE__}
  38. {$I MixedMode.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __MEMALLOCATORS__}
  41. {$I MemAllocators.p}
  42. {$ENDC}
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48. { *********** }
  49. {  Constants  }
  50. { *********** }
  51. {  Convenience constants for functions which optionally return values  }
  52.  
  53. CONST
  54.     kCollectionDontWantTag        = 0;
  55.     kCollectionDontWantId        = 0;
  56.     kCollectionDontWantSize        = 0;
  57.     kCollectionDontWantAttributes = 0;
  58.     kCollectionDontWantIndex    = 0;
  59.     kCollectionDontWantData        = 0;
  60.  
  61. {  attributes bits  }
  62.     kCollectionNoAttributes        = $00000000;                    {  no attributes bits set  }
  63.     kCollectionAllAttributes    = $FFFFFFFF;                    {  all attributes bits set  }
  64.     kCollectionUserAttributes    = $0000FFFF;                    {  user attributes bits  }
  65.     kCollectionDefaultAttributes = $40000000;                    {  default attributes - unlocked, persistent  }
  66.  
  67. {
  68.     Attribute bits 0 through 15 (entire low word) are reserved for use by the application.
  69.     Attribute bits 16 through 31 (entire high word) are reserved for use by the Collection Manager.
  70.     Only bits 31 (kCollectionLockBit) and 30 (kCollectionPersistenceBit) currently have meaning.
  71. }
  72.     kCollectionUser0Bit            = 0;
  73.     kCollectionUser1Bit            = 1;
  74.     kCollectionUser2Bit            = 2;
  75.     kCollectionUser3Bit            = 3;
  76.     kCollectionUser4Bit            = 4;
  77.     kCollectionUser5Bit            = 5;
  78.     kCollectionUser6Bit            = 6;
  79.     kCollectionUser7Bit            = 7;
  80.     kCollectionUser8Bit            = 8;
  81.     kCollectionUser9Bit            = 9;
  82.     kCollectionUser10Bit        = 10;
  83.     kCollectionUser11Bit        = 11;
  84.     kCollectionUser12Bit        = 12;
  85.     kCollectionUser13Bit        = 13;
  86.     kCollectionUser14Bit        = 14;
  87.     kCollectionUser15Bit        = 15;
  88.     kCollectionReserved0Bit        = 16;
  89.     kCollectionReserved1Bit        = 17;
  90.     kCollectionReserved2Bit        = 18;
  91.     kCollectionReserved3Bit        = 19;
  92.     kCollectionReserved4Bit        = 20;
  93.     kCollectionReserved5Bit        = 21;
  94.     kCollectionReserved6Bit        = 22;
  95.     kCollectionReserved7Bit        = 23;
  96.     kCollectionReserved8Bit        = 24;
  97.     kCollectionReserved9Bit        = 25;
  98.     kCollectionReserved10Bit    = 26;
  99.     kCollectionReserved11Bit    = 27;
  100.     kCollectionReserved12Bit    = 28;
  101.     kCollectionReserved13Bit    = 29;
  102.     kCollectionPersistenceBit    = 30;
  103.     kCollectionLockBit            = 31;
  104.  
  105. {  attribute masks  }
  106.     kCollectionUser0Mask        = $00000001;
  107.     kCollectionUser1Mask        = $00000002;
  108.     kCollectionUser2Mask        = $00000004;
  109.     kCollectionUser3Mask        = $00000008;
  110.     kCollectionUser4Mask        = $00000010;
  111.     kCollectionUser5Mask        = $00000020;
  112.     kCollectionUser6Mask        = $00000040;
  113.     kCollectionUser7Mask        = $00000080;
  114.     kCollectionUser8Mask        = $00000100;
  115.     kCollectionUser9Mask        = $00000200;
  116.     kCollectionUser10Mask        = $00000400;
  117.     kCollectionUser11Mask        = $00000800;
  118.     kCollectionUser12Mask        = $00001000;
  119.     kCollectionUser13Mask        = $00002000;
  120.     kCollectionUser14Mask        = $00004000;
  121.     kCollectionUser15Mask        = $00008000;
  122.     kCollectionReserved0Mask    = $00010000;
  123.     kCollectionReserved1Mask    = $00020000;
  124.     kCollectionReserved2Mask    = $00040000;
  125.     kCollectionReserved3Mask    = $00080000;
  126.     kCollectionReserved4Mask    = $00100000;
  127.     kCollectionReserved5Mask    = $00200000;
  128.     kCollectionReserved6Mask    = $00400000;
  129.     kCollectionReserved7Mask    = $00800000;
  130.     kCollectionReserved8Mask    = $01000000;
  131.     kCollectionReserved9Mask    = $02000000;
  132.     kCollectionReserved10Mask    = $04000000;
  133.     kCollectionReserved11Mask    = $08000000;
  134.     kCollectionReserved12Mask    = $10000000;
  135.     kCollectionReserved13Mask    = $20000000;
  136.     kCollectionPersistenceMask    = $40000000;
  137.     kCollectionLockMask            = $80000000;
  138.  
  139. { ********* }
  140. {  Types    }
  141. { ********* }
  142. {  abstract data type for a collection  }
  143.  
  144. TYPE
  145.     Collection = ^LONGINT;
  146. {  collection member 4 byte tag  }
  147.     CollectionTag                        = FourCharCode;
  148. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  149.     CollectionFlattenProcPtr = ProcPtr;  { FUNCTION CollectionFlatten(size: SInt32; data: UNIV Ptr; refCon: UNIV Ptr): OSErr; }
  150.  
  151.     CollectionExceptionProcPtr = ProcPtr;  { FUNCTION CollectionException(c: Collection; status: OSErr): OSErr; }
  152.  
  153.     CollectionFlattenUPP = UniversalProcPtr;
  154.     CollectionExceptionUPP = UniversalProcPtr;
  155.  
  156. CONST
  157.     uppCollectionFlattenProcInfo = $00000FE0;
  158.     uppCollectionExceptionProcInfo = $000002E0;
  159.  
  160. FUNCTION NewCollectionFlattenProc(userRoutine: CollectionFlattenProcPtr): CollectionFlattenUPP;
  161.     {$IFC NOT GENERATINGCFM }
  162.     INLINE $2E9F;
  163.     {$ENDC}
  164.  
  165. FUNCTION NewCollectionExceptionProc(userRoutine: CollectionExceptionProcPtr): CollectionExceptionUPP;
  166.     {$IFC NOT GENERATINGCFM }
  167.     INLINE $2E9F;
  168.     {$ENDC}
  169.  
  170. FUNCTION CallCollectionFlattenProc(size: SInt32; data: UNIV Ptr; refCon: UNIV Ptr; userRoutine: CollectionFlattenUPP): OSErr;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $205F, $4E90;
  173.     {$ENDC}
  174.  
  175. FUNCTION CallCollectionExceptionProc(c: Collection; status: OSErr; userRoutine: CollectionExceptionUPP): OSErr;
  176.     {$IFC NOT GENERATINGCFM}
  177.     INLINE $205F, $4E90;
  178.     {$ENDC}
  179. {$ENDC}
  180. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  181.  
  182. TYPE
  183.     CollectionFlattenPreemptiveProcPtr = ProcPtr;  { FUNCTION CollectionFlattenPreemptive(size: ByteCount; data: UNIV Ptr; refCon: UNIV Ptr): OSStatus; C; }
  184.  
  185.     CollectionExceptionPreemptiveProcPtr = ProcPtr;  { FUNCTION CollectionExceptionPreemptive(c: Collection; status: OSStatus): OSStatus; C; }
  186.  
  187. {$ENDC}
  188. { ******************************************* }
  189. { ************ Public interfaces ************ }
  190. { ******************************************* }
  191. {$IFC FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE }
  192. FUNCTION NewCollection: Collection;
  193.     {$IFC NOT GENERATINGCFM}
  194.     INLINE $7000, $ABF6;
  195.     {$ENDC}
  196. PROCEDURE DisposeCollection(c: Collection);
  197.     {$IFC NOT GENERATINGCFM}
  198.     INLINE $7001, $ABF6;
  199.     {$ENDC}
  200. FUNCTION CloneCollection(c: Collection): Collection;
  201.     {$IFC NOT GENERATINGCFM}
  202.     INLINE $7002, $ABF6;
  203.     {$ENDC}
  204. FUNCTION CountCollectionOwners(c: Collection): SInt32;
  205.     {$IFC NOT GENERATINGCFM}
  206.     INLINE $7003, $ABF6;
  207.     {$ENDC}
  208. FUNCTION CopyCollection(srcCollection: Collection; dstCollection: Collection): Collection;
  209.     {$IFC NOT GENERATINGCFM}
  210.     INLINE $7004, $ABF6;
  211.     {$ENDC}
  212. FUNCTION GetCollectionDefaultAttributes(c: Collection): SInt32;
  213.     {$IFC NOT GENERATINGCFM}
  214.     INLINE $7005, $ABF6;
  215.     {$ENDC}
  216. PROCEDURE SetCollectionDefaultAttributes(c: Collection; whichAttributes: SInt32; newAttributes: SInt32);
  217.     {$IFC NOT GENERATINGCFM}
  218.     INLINE $7006, $ABF6;
  219.     {$ENDC}
  220. FUNCTION CountCollectionItems(c: Collection): SInt32;
  221.     {$IFC NOT GENERATINGCFM}
  222.     INLINE $7007, $ABF6;
  223.     {$ENDC}
  224. FUNCTION AddCollectionItem(c: Collection; tag: CollectionTag; id: SInt32; itemSize: SInt32; itemData: UNIV Ptr): OSErr;
  225.     {$IFC NOT GENERATINGCFM}
  226.     INLINE $7008, $ABF6;
  227.     {$ENDC}
  228. FUNCTION GetCollectionItem(c: Collection; tag: CollectionTag; id: SInt32; VAR itemSize: SInt32; itemData: UNIV Ptr): OSErr;
  229.     {$IFC NOT GENERATINGCFM}
  230.     INLINE $7009, $ABF6;
  231.     {$ENDC}
  232. FUNCTION RemoveCollectionItem(c: Collection; tag: CollectionTag; id: SInt32): OSErr;
  233.     {$IFC NOT GENERATINGCFM}
  234.     INLINE $700A, $ABF6;
  235.     {$ENDC}
  236. FUNCTION SetCollectionItemInfo(c: Collection; tag: CollectionTag; id: SInt32; whichAttributes: SInt32; newAttributes: SInt32): OSErr;
  237.     {$IFC NOT GENERATINGCFM}
  238.     INLINE $700B, $ABF6;
  239.     {$ENDC}
  240. FUNCTION GetCollectionItemInfo(c: Collection; tag: CollectionTag; id: SInt32; VAR index: SInt32; VAR itemSize: SInt32; VAR attributes: SInt32): OSErr;
  241.     {$IFC NOT GENERATINGCFM}
  242.     INLINE $700C, $ABF6;
  243.     {$ENDC}
  244. FUNCTION ReplaceIndexedCollectionItem(c: Collection; index: SInt32; itemSize: SInt32; itemData: UNIV Ptr): OSErr;
  245.     {$IFC NOT GENERATINGCFM}
  246.     INLINE $700D, $ABF6;
  247.     {$ENDC}
  248. FUNCTION GetIndexedCollectionItem(c: Collection; index: SInt32; VAR itemSize: SInt32; itemData: UNIV Ptr): OSErr;
  249.     {$IFC NOT GENERATINGCFM}
  250.     INLINE $700E, $ABF6;
  251.     {$ENDC}
  252. FUNCTION RemoveIndexedCollectionItem(c: Collection; index: SInt32): OSErr;
  253.     {$IFC NOT GENERATINGCFM}
  254.     INLINE $700F, $ABF6;
  255.     {$ENDC}
  256. FUNCTION SetIndexedCollectionItemInfo(c: Collection; index: SInt32; whichAttributes: SInt32; newAttributes: SInt32): OSErr;
  257.     {$IFC NOT GENERATINGCFM}
  258.     INLINE $7010, $ABF6;
  259.     {$ENDC}
  260. FUNCTION GetIndexedCollectionItemInfo(c: Collection; index: SInt32; VAR tag: CollectionTag; VAR id: SInt32; VAR itemSize: SInt32; VAR attributes: SInt32): OSErr;
  261.     {$IFC NOT GENERATINGCFM}
  262.     INLINE $7011, $ABF6;
  263.     {$ENDC}
  264. FUNCTION CollectionTagExists(c: Collection; tag: CollectionTag): BOOLEAN;
  265.     {$IFC NOT GENERATINGCFM}
  266.     INLINE $7012, $ABF6;
  267.     {$ENDC}
  268. FUNCTION CountCollectionTags(c: Collection): SInt32;
  269.     {$IFC NOT GENERATINGCFM}
  270.     INLINE $7013, $ABF6;
  271.     {$ENDC}
  272. FUNCTION GetIndexedCollectionTag(c: Collection; tagIndex: SInt32; VAR tag: CollectionTag): OSErr;
  273.     {$IFC NOT GENERATINGCFM}
  274.     INLINE $7014, $ABF6;
  275.     {$ENDC}
  276. FUNCTION CountTaggedCollectionItems(c: Collection; tag: CollectionTag): SInt32;
  277.     {$IFC NOT GENERATINGCFM}
  278.     INLINE $7015, $ABF6;
  279.     {$ENDC}
  280. FUNCTION GetTaggedCollectionItem(c: Collection; tag: CollectionTag; whichItem: SInt32; VAR itemSize: SInt32; itemData: UNIV Ptr): OSErr;
  281.     {$IFC NOT GENERATINGCFM}
  282.     INLINE $7016, $ABF6;
  283.     {$ENDC}
  284. FUNCTION GetTaggedCollectionItemInfo(c: Collection; tag: CollectionTag; whichItem: SInt32; VAR id: SInt32; VAR index: SInt32; VAR itemSize: SInt32; VAR attributes: SInt32): OSErr;
  285.     {$IFC NOT GENERATINGCFM}
  286.     INLINE $7017, $ABF6;
  287.     {$ENDC}
  288. PROCEDURE PurgeCollection(c: Collection; whichAttributes: SInt32; matchingAttributes: SInt32);
  289.     {$IFC NOT GENERATINGCFM}
  290.     INLINE $7018, $ABF6;
  291.     {$ENDC}
  292. PROCEDURE PurgeCollectionTag(c: Collection; tag: CollectionTag);
  293.     {$IFC NOT GENERATINGCFM}
  294.     INLINE $7019, $ABF6;
  295.     {$ENDC}
  296. PROCEDURE EmptyCollection(c: Collection);
  297.     {$IFC NOT GENERATINGCFM}
  298.     INLINE $701A, $ABF6;
  299.     {$ENDC}
  300. {$ENDC}
  301. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  302. FUNCTION FlattenCollection(c: Collection; flattenProc: CollectionFlattenUPP; refCon: UNIV Ptr): OSErr;
  303.     {$IFC NOT GENERATINGCFM}
  304.     INLINE $701B, $ABF6;
  305.     {$ENDC}
  306. FUNCTION FlattenPartialCollection(c: Collection; flattenProc: CollectionFlattenUPP; refCon: UNIV Ptr; whichAttributes: SInt32; matchingAttributes: SInt32): OSErr;
  307.     {$IFC NOT GENERATINGCFM}
  308.     INLINE $701C, $ABF6;
  309.     {$ENDC}
  310. FUNCTION UnflattenCollection(c: Collection; flattenProc: CollectionFlattenUPP; refCon: UNIV Ptr): OSErr;
  311.     {$IFC NOT GENERATINGCFM}
  312.     INLINE $701D, $ABF6;
  313.     {$ENDC}
  314. FUNCTION GetCollectionExceptionProc(c: Collection): CollectionExceptionUPP;
  315.     {$IFC NOT GENERATINGCFM}
  316.     INLINE $701E, $ABF6;
  317.     {$ENDC}
  318. PROCEDURE SetCollectionExceptionProc(c: Collection; exceptionProc: CollectionExceptionUPP);
  319.     {$IFC NOT GENERATINGCFM}
  320.     INLINE $701F, $ABF6;
  321.     {$ENDC}
  322. FUNCTION GetNewCollection(collectionID: SInt16): Collection;
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $7020, $ABF6;
  325.     {$ENDC}
  326. {$ENDC}
  327. {$IFC FOR_SYSTEM8_PREEMPTIVE }
  328. FUNCTION NewCollectionFromAllocator(allocator: MemAllocatorRef; VAR c: Collection): OSStatus; C;
  329. FUNCTION GetCollectionItemData(c: Collection; tag: CollectionTag; id: UInt32; sizeAllowed: ByteCount; VAR sizeReturned: ByteCount; itemData: UNIV Ptr): OSStatus; C;
  330. FUNCTION GetIndexedCollectionItemData(c: Collection; index: UInt32; sizeAllowed: ByteCount; VAR sizeReturned: ByteCount; itemData: UNIV Ptr): OSStatus; C;
  331. FUNCTION GetTaggedCollectionItemData(c: Collection; tag: CollectionTag; whichItem: UInt32; sizeAllowed: ByteCount; VAR sizeReturned: ByteCount; itemData: UNIV Ptr): OSStatus; C;
  332. FUNCTION GetFlattenedCollectionSize(c: Collection; VAR size: ByteCount): OSStatus; C;
  333. FUNCTION GetFlattenedPartialCollectionSize(c: Collection; whichAttributes: UInt32; matchingAttributes: UInt32; VAR size: ByteCount): OSStatus; C;
  334. FUNCTION FlattenCollectionToBuffer(c: Collection; dataPtr: UNIV Ptr; sizeAllowed: ByteCount; VAR sizeFlattened: ByteCount): OSStatus; C;
  335. FUNCTION FlattenPartialCollectionToBuffer(c: Collection; whichAttributes: UInt32; matchingAttributes: UInt32; dataPtr: UNIV Ptr; sizeAllowed: ByteCount; VAR sizeFlattened: ByteCount): OSStatus; C;
  336. FUNCTION UnflattenCollectionFromBuffer(c: Collection; dataPtr: UNIV Ptr; size: ByteCount): OSStatus; C;
  337. FUNCTION FlattenCollectionPreemptive(c: Collection; flattenProc: CollectionFlattenPreemptiveProcPtr; refCon: UNIV Ptr): OSStatus; C;
  338. FUNCTION FlattenPartialCollectionPreemptive(c: Collection; flattenProc: CollectionFlattenPreemptiveProcPtr; refCon: UNIV Ptr; whichAttributes: UInt32; matchingAttributes: UInt32): OSStatus; C;
  339. FUNCTION UnflattenCollectionPreemptive(c: Collection; flattenProc: CollectionFlattenPreemptiveProcPtr; refCon: UNIV Ptr): OSStatus; C;
  340. FUNCTION GetCollectionExceptionProcPreemptive(c: Collection): CollectionExceptionPreemptiveProcPtr; C;
  341. FUNCTION SetCollectionExceptionProcPreemptive(c: Collection; exceptionProc: CollectionExceptionPreemptiveProcPtr): OSStatus; C;
  342. {$ENDC}
  343. {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
  344. { ******************************************************************** }
  345. { ************* Utility routines for handle-based access ************* }
  346. { ******************************************************************** }
  347. FUNCTION AddCollectionItemHdl(aCollection: Collection; tag: CollectionTag; id: SInt32; itemData: Handle): OSErr;
  348.     {$IFC NOT GENERATINGCFM}
  349.     INLINE $7021, $ABF6;
  350.     {$ENDC}
  351. FUNCTION GetCollectionItemHdl(aCollection: Collection; tag: CollectionTag; id: SInt32; itemData: Handle): OSErr;
  352.     {$IFC NOT GENERATINGCFM}
  353.     INLINE $7022, $ABF6;
  354.     {$ENDC}
  355. FUNCTION ReplaceIndexedCollectionItemHdl(aCollection: Collection; index: SInt32; itemData: Handle): OSErr;
  356.     {$IFC NOT GENERATINGCFM}
  357.     INLINE $7023, $ABF6;
  358.     {$ENDC}
  359. FUNCTION GetIndexedCollectionItemHdl(aCollection: Collection; index: SInt32; itemData: Handle): OSErr;
  360.     {$IFC NOT GENERATINGCFM}
  361.     INLINE $7024, $ABF6;
  362.     {$ENDC}
  363. FUNCTION FlattenCollectionToHdl(aCollection: Collection; flattened: Handle): OSErr;
  364.     {$IFC NOT GENERATINGCFM}
  365.     INLINE $7025, $ABF6;
  366.     {$ENDC}
  367. FUNCTION UnflattenCollectionFromHdl(aCollection: Collection; flattened: Handle): OSErr;
  368.     {$IFC NOT GENERATINGCFM}
  369.     INLINE $7026, $ABF6;
  370.     {$ENDC}
  371. {$ENDC}
  372. {$IFC OLDROUTINENAMES }
  373.  
  374. CONST
  375.     dontWantTag                    = 0;
  376.     dontWantId                    = 0;
  377.     dontWantSize                = 0;
  378.     dontWantAttributes            = 0;
  379.     dontWantIndex                = 0;
  380.     dontWantData                = 0;
  381.  
  382.     noCollectionAttributes        = $00000000;
  383.     allCollectionAttributes        = $FFFFFFFF;
  384.     userCollectionAttributes    = $0000FFFF;
  385.     defaultCollectionAttributes    = $40000000;
  386.  
  387.     collectionUser0Bit            = 0;
  388.     collectionUser1Bit            = 1;
  389.     collectionUser2Bit            = 2;
  390.     collectionUser3Bit            = 3;
  391.     collectionUser4Bit            = 4;
  392.     collectionUser5Bit            = 5;
  393.     collectionUser6Bit            = 6;
  394.     collectionUser7Bit            = 7;
  395.     collectionUser8Bit            = 8;
  396.     collectionUser9Bit            = 9;
  397.     collectionUser10Bit            = 10;
  398.     collectionUser11Bit            = 11;
  399.     collectionUser12Bit            = 12;
  400.     collectionUser13Bit            = 13;
  401.     collectionUser14Bit            = 14;
  402.     collectionUser15Bit            = 15;
  403.     collectionReserved0Bit        = 16;
  404.     collectionReserved1Bit        = 17;
  405.     collectionReserved2Bit        = 18;
  406.     collectionReserved3Bit        = 19;
  407.     collectionReserved4Bit        = 20;
  408.     collectionReserved5Bit        = 21;
  409.     collectionReserved6Bit        = 22;
  410.     collectionReserved7Bit        = 23;
  411.     collectionReserved8Bit        = 24;
  412.     collectionReserved9Bit        = 25;
  413.     collectionReserved10Bit        = 26;
  414.     collectionReserved11Bit        = 27;
  415.     collectionReserved12Bit        = 28;
  416.     collectionReserved13Bit        = 29;
  417.     collectionPersistenceBit    = 30;
  418.     collectionLockBit            = 31;
  419.  
  420.     collectionUser0Mask            = $00000001;
  421.     collectionUser1Mask            = $00000002;
  422.     collectionUser2Mask            = $00000004;
  423.     collectionUser3Mask            = $00000008;
  424.     collectionUser4Mask            = $00000010;
  425.     collectionUser5Mask            = $00000020;
  426.     collectionUser6Mask            = $00000040;
  427.     collectionUser7Mask            = $00000080;
  428.     collectionUser8Mask            = $00000100;
  429.     collectionUser9Mask            = $00000200;
  430.     collectionUser10Mask        = $00000400;
  431.     collectionUser11Mask        = $00000800;
  432.     collectionUser12Mask        = $00001000;
  433.     collectionUser13Mask        = $00002000;
  434.     collectionUser14Mask        = $00004000;
  435.     collectionUser15Mask        = $00008000;
  436.     collectionReserved0Mask        = $00010000;
  437.     collectionReserved1Mask        = $00020000;
  438.     collectionReserved2Mask        = $00040000;
  439.     collectionReserved3Mask        = $00080000;
  440.     collectionReserved4Mask        = $00100000;
  441.     collectionReserved5Mask        = $00200000;
  442.     collectionReserved6Mask        = $00400000;
  443.     collectionReserved7Mask        = $00800000;
  444.     collectionReserved8Mask        = $01000000;
  445.     collectionReserved9Mask        = $02000000;
  446.     collectionReserved10Mask    = $04000000;
  447.     collectionReserved11Mask    = $08000000;
  448.     collectionReserved12Mask    = $10000000;
  449.     collectionReserved13Mask    = $20000000;
  450.     collectionPersistenceMask    = $40000000;
  451.     collectionLockMask            = $80000000;
  452.  
  453. {$ENDC}
  454. {$ALIGN RESET}
  455. {$POP}
  456.  
  457. {$SETC UsingIncludes := CollectionsIncludes}
  458.  
  459. {$ENDC} {__COLLECTIONS__}
  460.  
  461. {$IFC NOT UsingIncludes}
  462.  END.
  463. {$ENDC}
  464.